﻿// Instrction Arrangement HDU - 4109.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

/*
https://vjudge.net/problem/HDU-4109

阿里本学期选修了计算机组织与结构课程。他了解到，指令之间可能存在依赖关系，如 WAR（读后写）、WAW、RAW。
如果两条指令之间的距离小于安全距离，就会产生危险，可能导致错误的结果。
因此，我们需要设计特殊的电路来消除危险。然而，解决这个问题最简单的方法就是添加气泡（无用操作），即浪费时间来确保两条指令之间的距离不小于安全距离。


两条指令之间距离的定义是它们的起始时间之差。
现在我们有很多指令，并且知道指令之间的依存关系和安全距离。我们的 CPU 性能非常强大，拥有无限多的内核，因此你可以同时运行任意多的指令，而且 CPU 速度非常快，完成任何指令只需 1ns 的时间。
你的任务是重新排列指令，使 CPU 用最短的时间完成所有指令。
输入
输入包括几个测试用例。
第一行有两个整数 N、M（N <= 1000，M <= 10000），表示有 N 条指令和 M 个从属关系。
接下来的 M 行，每行包含三个整数 X, Y , Z，表示 X 和 Y 之间的安全距离为 Z，Y 应在 X 之后运行。
输出
打印一个整数，即 CPU 运行所需的最短时间。

5 2
1 2 1
3 4 1

2

提示
在第 1 ns 内，执行指令 0、1 和 3；
在第 2 ns 中，执行了指令 2 和 4。
因此答案应为 2。
*/
int main()
{
    std::cout << "Hello World!\n";
}

 